package web

import (
	"fmt"
	"ksd-social-api/commons/base/controller"
	"ksd-social-api/modules/resume/model/context"
	"ksd-social-api/modules/resume/service"
	"ksd-social-api/utils/rdb"
)

type AdminResumeController struct {
	controller.BaseController
}

var adminResumeService = service.AdminResumeService{}

/*
*
查询信息
*/
func (web *AdminResumeController) FindResumes() {
	// 1: 定义一个接受分页信息的上下文
	resumeSearchContext := context.ResumeSearchContext{}
	// 2: 开始绑定参数
	web.BindJSON(&resumeSearchContext)
	resumeSearchContext.SystemId = web.GetSystemId()
	web.Ok(adminResumeService.FindResumeListAndPage(resumeSearchContext))
}

/*
*
保存栏目
*/
func (web *AdminResumeController) SaveUpdateResume() {
	// 1: 定义一个接受分页信息的上下文
	resumeContext := context.ResumeContext{}
	// 2: 开始绑定参数
	web.BindJSON(&resumeContext)
	resumeContext.SystemId = web.GetSystemId()
	resumeContext.SystemName = web.GetSystemName()
	// 清空缓存
	cacheKey := fmt.Sprintf("SYSTEM:FindChannels:LIST:%d", web.GetSystemId())
	rdb.RdbDel(cacheKey)

	web.Ok(adminResumeService.SaveUpdateResume(resumeContext))
}

/*
*
修改状态
*/
func (web *AdminResumeController) UpdateFieldById() {
	// 1: 定义一个接受分页信息的上下文
	resumeUpdateContext := context.ResumeUpdateContext{}
	// 2: 开始绑定参数
	web.BindJSON(&resumeUpdateContext)
	resumeUpdateContext.SystemId = web.GetSystemId()
	web.Ok(adminResumeService.UpdateFieldById(resumeUpdateContext))
}

/*
*
修改状态
*/
func (web *AdminResumeController) UpdateFieldByCodeId() {
	// 1: 定义一个接受分页信息的上下文
	resumeUpdateContext := context.ResumeUpdateContext{}
	// 2: 开始绑定参数
	web.BindJSON(&resumeUpdateContext)
	resumeUpdateContext.SystemId = web.GetSystemId()
	web.Ok(adminResumeService.UpdateFieldByCodeId(resumeUpdateContext))
}

/*
*
保存兑换码
*/
func (web *AdminResumeController) SaveUpdateCodes() {
	// 1: 定义一个接受分页信息的上下文
	resumeCodeContext := context.ResumeCodeContext{}
	// 2: 开始绑定参数
	web.BindJSON(&resumeCodeContext)
	resumeCodeContext.SystemId = web.GetSystemId()
	web.Ok(adminResumeService.SaveUpdateCode(resumeCodeContext))
}

/*
*
查询栏目兑换码信息
*/
func (web *AdminResumeController) FindCodes() {
	// 1: 定义一个接受分页信息的上下文
	codeSearchContext := context.CodeSearchContext{}
	// 2: 开始绑定参数
	web.BindJSON(&codeSearchContext)
	codeSearchContext.SystemId = web.GetSystemId()
	web.Ok(adminResumeService.FindCodePage(codeSearchContext))
}

/*
*
查询栏目兑换码信息
*/
func (web *AdminResumeController) BatchSaveOrders() {
	// 1: 定义一个接受分页信息的上下文
	batchUsersContext := context.BatchUsersContext{}
	// 2: 开始绑定参数
	web.BindJSON(&batchUsersContext)
	batchUsersContext.SystemId = web.GetSystemId()
	batchUsersContext.SystemName = web.GetSystemName()
	web.Ok(adminResumeService.SaveUserResumeOrder(batchUsersContext))
}

/**
 * @author feige
 * @date 2023-10-10
 * @version 1.0
 * @desc  根据id删除
 */
func (web *AdminResumeController) DelById() {
	id, _ := web.ParseParamUint64("id")
	web.Ok(adminResumeService.DelById(id, web.GetSystemId()))
}

/**
 * @author feige
 * @date 2023-10-10
 * @version 1.0
 * @desc  根据用户id查询用户明细
 */
func (web *AdminResumeController) DelCodeById() {
	id, _ := web.ParseParamUint64("id")
	web.Ok(adminResumeService.DelCodeById(id, web.GetSystemId()))
}

/*
*
复制
*/
func (web *AdminResumeController) CopyData() {
	id, _ := web.ParseParamUint64("id")
	web.Ok(adminResumeService.CopyData(id, web.GetSystemId()))
}
